簡體   English   中英

選擇復選框,單選按鈕和列表

[英]Selecting Checkboxes, Radio buttons and list

我在使用jQuery / jQuery Mobile的運行時檢查/選擇單選按鈕,復選框和列表樣式時遇到問題。

基本上,我有一個復選框,單選按鈕和選擇菜單的列表,我想做的是從數據庫中獲取值,然后從復選框/單選按鈕組或選擇菜單中選擇/勾選正確的項目。

這是我嘗試過的簡單設置,但是沒有用。

HTML:

<fieldset data-role="controlgroup">     
  <input type="radio" name="option_radio" id="option_radio_1" value="1" />
  <label for="option_radio_1">Option 1</label>  
  <input type="radio" name="option_radio" id="option_radio_2" value="2" />
  <label for="option_radio_2">Option 2</label>
</fieldset>

<fieldset data-role="controlgroup">     
  <input type="checkbox" name="option_checkbox" id="option_checkbox_1" value="1" />
  <label for="option_checkbox_1">Option 1</label>   
  <input type="checkbox" name="option_checkbox2" id="option_checkbox_2" value="2" />
  <label for="option_checkbox_2">Option 2</label>   
  <input type="checkbox" name="option_checkbox3" id="option_checkbox_3" value="3" />
  <label for="option_checkbox_3">Option 3</label>
</fieldset>

<select name="option_list" id="option_list">
  <option value="20">20</option>
  <option value="30">30</option>
  <option value="40">40</option>
  <option value="50">50</option>
  <option value="60">60</option>
  <option value="70">70</option>
</select> 

JS:

$("#option_checkbox_1").val(option_id); 
$("#option_list").val(optionlist_id);
$('input:radio[name=gender]:checked').val(gender_id);

我嘗試的是將數據庫中的值(例如1/2/3/4等)從數據庫直接傳遞到元素。

誰能告訴我該怎么做?

要檢查它或給它一個值:

$('#option_checkbox_1').attr('checked', 'checked');
$('input:radio[id=option_radio_1]').attr('checked', 'checked');
$("#option_list").val(50);

並取消選中(通過完全刪除屬性)來執行

$('#option_checkbox_1').removeAttr('checked');
$('input:radio[name=gender]:checked').removeAttr('checked');

我想這就是你想要的

$('#option_checkbox_'+option_id).attr('checked', 'checked');
$('input:radio[id='+gender_id+']').attr('checked', 'checked');
$("#option_list").val(optionlist_id);

$("#option_checkbox_1").val(option_id);

這用於將值分配給element。

您可以Element with attribute value selector查找元素。

var valueFromDB = "1";
$("input[type='radio']['"+valueFromDB+"']").attr("checked","true");
$("input[type="checkbox"]['"+valueFromDB+"']").attr("checked","true");
$("#option_list option[value="20"]").attr("selected","true");

另外一點。

id是元素的唯一。 您不能將id用作多個元素。

要選擇具有特定值的input元素:

$('input[value=' + valueFromDatabase + ']');

然后檢查/選擇該元素:

$('input[value=' + valueFromDatabase + ']').prop('checked', true);

當然,這可以與其他選擇器(例如:radio:checkbox )組合:

$('input:radio[value=' + valueFromDatabase + ']').prop('checked', true);

如果從數據庫中的值中包含任何空格,但是,值必須在選擇報價,並提供:

$('input[value="' + valueFromDatabase + '"]');

(請注意, "圍繞'valueFromDatabase字符)。

JS將設置元素的值,而不檢查它們。 您要做的是使用if語句查看radio / checkbox / select的值是否與您從數據庫中提取的字符串的值匹配。 如果是這樣,則您希望像這樣設置要檢查/選擇的屬性

// checkboxes/radios
$(this).attr('checked','checked')

// options
$(this).attr('selected','selected')

其中$(this)=輸入或選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM