开发者

jquery <select> problem

<select name="securityq1" class="selectInput">
    <option value="">Please select</option>
    <option value="What is your matric no?">What is your matric no?</option> 
    <option value="What is the name of your lover?" >What is the name of your lover?</option>
    <option value="What is your profession?" >What is 开发者_高级运维your profession?</option>
</select>

Hi all, this is my security question, when I want to do the update function, I want to draw from the database the question users have previously entered. If questions are little, I can do stupidly <option value="What is your matric no?" <?php if($database['securityq1']=="What is your matric no") echo "selected"; ?>>...</option>

But the security questions may up to 15 questions, do this way is very tedious? As I am using jQuery for UI , how can I make a quick way using jQuery? Thanks for help


You have to determine the selected value somehow on the server-side. I'd suggest that you keep the options in an array or some other collection and loop over them:

$options = array("What is your matric no?", ...); 
foreach($options as $option) {
   echo "<option value=\"$option\"";
   if($database['securityq1'] === $option) {
      echo ' selected';
   }
   echo ">$option</option>";
}

You can wrap the routine in a function and handle all similar situations easier.

If you insist using jQuery you can do something like this

$('select[name=securityq1] option[value="'+ selectedSecurityQuestion +'"]').attr('selected','selected');

Where selectedSecurityQuestion is defined somewhere. See it in action.

However,this solution won't work if javascript is turned off. Whether that is a problem is determined by the target audience.


try with this once ..

<script>

    $("select").change(function () {
          var str = "";
          $("select option:selected").each(function () {
                str += $(this).text() + " ";
              });
          $("div").text(str);
        })
        .trigger('change');
</script>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜